package com.aoxin.mapper.opm;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

import com.aoxin.model.opm.SlfRoleMenu;

/**
 * 角色菜单
 * 
 * @author Melody
 * @date 2018年3月22日 下午2:05:06
 */
public interface SlfRoleMenuMapper {

	/**
	 * 删除角色菜单
	 * 
	 * @param roleMenuIds
	 *            角色菜单ID集合
	 */
	void deleteByPrimaryKeys(List<Integer> roleMenuIds);

	/**
	 * 根据角色ID删除角色菜单
	 * 
	 * @param roleMenuIds
	 *            角色菜单ID集合
	 */
	void deleteByRole(@Param("roleId") Integer roleId);

	/**
	 * 添加角色菜单
	 * 
	 * @param record
	 *            角色菜单
	 */
	void insertSelective(SlfRoleMenu record);

	/**
	 * 查询角色菜单
	 * 
	 * @param roleMenuId
	 *            角色菜单ID
	 * @return
	 */
	SlfRoleMenu selectByPrimaryKey(Integer roleMenuId);

	/**
	 * 修改角色菜单
	 * 
	 * @param record
	 *            修改角色菜单
	 */
	void updateByPrimaryKeySelective(SlfRoleMenu record);

	/**
	 * 获取记录数
	 *
	 * @param params
	 *            查询条件
	 * @return 记录数
	 */
	Long getRecordCount(Map<String, Object> map);

	/**
	 * 根据角色查询所有的菜单
	 * 
	 * @param roleId
	 *            角色ID
	 * @param parentId
	 *            父ID
	 * @return 菜单ID
	 */
	List<String> getMenuListByRoleId(@Param("roleId") Integer roleId);
	
	/**
	 * 排除本角色已经在系统中(则不能删除)
	 *
	 * @param params
	 *            
	 * @return Integer
	 */
	Integer IsRole(Integer roleId);
}